The present disclosure relates to controlling communications between applications and resources of a mobile device.
The principal of mobile application management (MAM) applies security policies to individual applications instead of to the operation of entire mobile devices. This means that different applications can have unique policies applied to them individually, and the applications can thereby be protected and manageable regardless of the management status of the mobile device hosting the application. Example application management features can include controlling an application's access to mobile device features using policies created by an information technology operator.
There are two primary approaches for making applications hook into a specific management platform: 1) software development toolkit (SDK) approach; and 2) application wrapping.
With the SDK approach, a MAM platform vendor provides a vendor specific code library to developers for their incorporation into applications at the time of development. The code library includes all of the features and hooks needed to integrate the application with the MAM platform, so that access by the application to features of the mobile device will be managed by the MAM platform.
The alternative approach is application wrapping. A complete application is surrounded (encapsulated) with application wrapper code to provide management hooks and perform security features. The application wrapper code is then compiled around executable code from the original application. The application wrapper code intercepts calls to operating system (OS) application programming interfaces (APIs) from the application executable code to control the application's use of mobile device features.